Style Guide v3.1

Brand Essence

ATLAS Meridia is an experimental laboratory for AI tools, knowledge management systems, and creative technology solutions. The visual language balances intellectual authority with warmth and approachability.

Voice

Thoughtful, precise, curious. We explain complex ideas clearly without condescension. We're excited about discovery but measured in claims.

Visual Character

Editorial sophistication meets digital craft. Classic typography signals intellectual seriousness. Warm gold accents add life without flash. Generous whitespace lets ideas breathe.

Color System

A desaturated navy foundation with warm cream surfaces and amber-gold accents. The palette is deliberately muted — sophisticated without being cold.

Navy Scale

Primary backgrounds in dark mode. Desaturated with slight warmth to avoid feeling clinical.

Navy 950
#08090c
Navy 900
#0e1318
Navy 800
#161c24
Navy 700
#1e2630
Navy 600
#2a3440
Navy 500
#3d4754

Cream Scale

Primary backgrounds in light mode. Warm paper tones, not stark white.

Cream 50
#f8f6f1
Cream 100
#f3f0ea
Cream 200
#eae6de
Cream 300
#dfd9ce
Cream 400
#d0c8bb
Cream 500
#b8b0a2

Accent — Amber Gold

The signature accent. Use for interactive elements, emphasis, and brand moments. In light mode, use --accent-dark (#a87a3a) for small text to ensure contrast.

Accent Light
#ddb878
Accent
#c9924a
Accent Dark
#a87a3a
Accent Deep
#8a6530

Dark Mode Text

Custom text colors for dark mode — softer than pure cream to reduce contrast and eye strain.

Text Primary
#d5cab8
Text Secondary
#bfb4a4
Text Muted
#9a8f80

Typography

Four typefaces, each with a specific role. The combination of classical serifs and clean sans creates intellectual warmth.

Font Stack

Display
Cormorant Garamond
Headlines, hero text, pullquotes
Body
Source Serif 4
Long-form articles, paragraphs
UI
DM Sans
Labels, buttons, navigation
Mono
IBM Plex Mono
Code, technical values
Traditional Chinese
思源宋體
Noto Serif TC · Chinese content

Display Type

Cormorant Garamond at weight 300, with italics at weight 400. Use for headlines, hero sections, and pullquotes.

--font-display · weight 300/400 italic · --leading-tight

The Verification Problem
in the Age of Infinite

Body Type

Source Serif 4 at 22px (--text-body) with 1.65 line height. Variable font with optical sizing. In dark mode, use weight 300 with +0.01em letter-spacing.

--font-body · --text-body (22px) · --leading-relaxed (1.65)

We're entering an era where the cost of generating plausible content—text, images, video, code—approaches zero. The economic and cognitive barriers that once separated "real" from "fabricated" are collapsing. This isn't a future scenario; it's the present condition.

Dark mode adjustment: Set font-weight: 300 and letter-spacing: 0.01em to compensate for light text on dark background appearing heavier.

Type Scale

Token Size Use
--text-xs0.75rem (12px)Labels, captions
--text-sm0.875rem (14px)Secondary text, buttons
--text-base1.125rem (18px)UI text, callouts
--text-body1.375rem (22px)Article body
--text-lg1.5rem (24px)Lead paragraphs
--text-xl1.75rem (28px)Section headers
--text-2xl2.25rem (36px)Pullquotes
--text-3xl3rem (48px)Page titles
--text-4xl4rem (64px)Hero headlines
--text-5xl5.5rem (88px)Large hero
--text-6xl7rem (112px)Maximum impact

Traditional Mandarin — Noto Serif TC

Noto Serif TC (思源宋體) pairs with Source Serif 4's warmth and bookish character. Use for Traditional Chinese content.

Display · 標題

最有趣的發現往往發生在學科交匯之處

English Equivalent

The most interesting discoveries happen where disciplines converge

Body Copy · 正文 · --font-body-zh

我們相信,明天重要的工具今天很少顯而易見。它們源於實驗,源於追隨好奇心的線索,沒有預設的目的地。這就是實驗室的工作:在必要之前探索可能性。每一段都應該吸引讀者更深入地閱讀。

Mixed Content · 中英混排

ATLAS Meridia 是一個探索人工智慧與創意技術交匯的實驗室。我們在 San Francisco 運營,專注於建構驗證系統、知識管理工具,以及推動思想邊界的解決方案。

Weight Range · 字重

實驗室

300 Light

實驗室

400 Regular

實驗室

500 Medium

實驗室

600 SemiBold

Implementation: CJK fonts are large (~4MB). Load only needed weights (300, 400, 500) to minimize file size. For mixed EN/ZH content, let the browser fallback naturally using the combined font stack.

/* CSS Variables */
--font-body-zh: 'Noto Serif TC', 'Songti TC', 'PMingLiU', serif;
--font-ui-zh: 'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;

/* Auto-detect Chinese content */
.post-content:lang(zh-Hant),
.post-content:lang(zh-TW) {
  font-family: var(--font-body-zh);
  font-size: calc(var(--text-body) * 1.05);
  line-height: 2;
}

/* For tagged Chinese posts in Ghost */
.tag-chinese .post-content,
.tag-中文 .post-content {
  font-family: var(--font-body-zh);
}

Spacing

Consistent spacing tokens based on a 4px base unit. Use these variables throughout for predictable rhythm.

Token Value Pixels
--space-10.25rem4px
--space-20.5rem8px
--space-30.75rem12px
--space-41rem16px
--space-51.5rem24px
--space-62rem32px
--space-83rem48px
--space-104rem64px
--space-126rem96px
--space-168rem128px

Layout Widths

Token Value Use
--width-prose38rem (~608px)Article body column
--width-wide52rem (~832px)Wide content, images
--width-full80rem (~1280px)Max container width

Components

Reusable UI elements styled consistently across the system.

Buttons
Links

Body text with a styled link that uses an accent underline and subtle hover state.

Tags / Labels
Experiment
Input
Callout Box
Note

Use callouts to highlight important information, key takeaways, or experimental notes that deserve extra attention.

Pullquote / Blockquote

The question isn't whether AI-generated content is "good enough." It's whether we can distinguish what's real.

— Internal observation
Divider

Use between major sections. The compass icon in accent color at 0.7 opacity.

Code Block
const verify = async (claim) => {
  const methodology = await extractMethodology(claim);
  return auditMethodology(methodology);
};

Image Treatments

Five image treatments for different editorial contexts. All use 6px border-radius except full-bleed.

Inline · 4:3
Inline
Stays within prose column. Use for supporting visuals, screenshots, diagrams.
Wide · 16:9
Wide
Breaks out ±3rem from prose column. Use for feature images, hero visuals.
Full Bleed · 21:9
Full Bleed
Edge to edge, no border-radius. Maximum drama for cinematic moments.
Left
Right
Paired
Two images side-by-side. Use for comparisons, before/after, related visuals.

Dark mode: Apply filter: brightness(0.92) contrast(1.02) to photos to reduce glare on dark backgrounds.

Ghost Integration

Notes for implementing this design system in Ghost themes and blog posts.

Post Content Styling

Ghost's content API outputs semantic HTML. Target these elements:

.post-content p {
    font-family: var(--font-body);
    font-size: var(--text-body);
    font-weight: var(--body-weight);
    letter-spacing: var(--body-tracking);
    line-height: var(--leading-relaxed);
    margin-bottom: var(--space-5);
}

.post-content h2 {
    font-family: var(--font-display);
    font-size: var(--text-3xl);
    font-weight: 300;
    margin-top: var(--space-12);
    margin-bottom: var(--space-5);
}

.post-content a {
    text-decoration-color: var(--accent);
    text-underline-offset: 3px;
}

.post-content blockquote {
    /* Use pullquote styling */
    border-left: 3px solid var(--accent);
    padding-left: var(--space-6);
}

.post-content pre {
    background: var(--navy-950);
    border: 1px solid var(--navy-800);
}

Card Markup

Ghost cards (callout, bookmark, etc.) can be styled with custom classes:

/* Ghost callout card */
.kg-callout-card {
    background: linear-gradient(135deg, 
        rgba(201, 146, 74, 0.08) 0%, 
        rgba(138, 101, 48, 0.04) 100%);
    border: 1px solid rgba(201, 146, 74, 0.2);
    border-left: 4px solid var(--accent);
}

/* Ghost image card widths */
.kg-width-wide { 
    width: calc(100% + 6rem);
    margin-left: -3rem; 
}

.kg-width-full { 
    width: 100vw;
    margin-left: calc(-50vw + 50%); 
}

Theme Variables

Include the full token set in your theme's CSS. Ghost supports :root variables. Dark mode can be toggled via:

<html data-theme="dark">
// or
@media (prefers-color-scheme: dark) {
    :root { /* dark mode tokens */ }
}

Reading Progress Bar

Optional enhancement. 3px height, gradient fill:

.progress-bar {
    position: fixed;
    top: 0;
    left: 0;
    height: 3px;
    background: linear-gradient(90deg, 
        var(--accent) 0%, 
        var(--accent-light) 100%);
    z-index: 1000;
}